package com.roncoo.education.course.service.dao.impl.mapper.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.*;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@EqualsAndHashCode(callSuper = false)
@TableName("course")
public class Course extends Model<Course> implements Serializable {
    @TableId(value = "id", type = IdType.INPUT)
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;
    @TableField(value = "gmt_create")
    private Date gmtCreate;
    @TableField(value = "gmt_modified")
    private Date gmtModified;
    @TableField(value = "status_id")
    private Integer statusId;

    private Integer sort;

    @TableField(value = "lecturer_user_no")
    private Long lecturerUserNo;
    @TableField(value = "category_id1")
    private Long categoryId1;
    @TableField(value = "category_id2")
    private Long categoryId2;
    @TableField(value = "category_id3")
    private Long categoryId3;
    @TableField(value = "course_name")
    private String courseName;
    @TableField(value = "course_logo")
    private String courseLogo;
    @TableField(value = "introduce_id")
    private Long introduceId;
    @TableField(value = "is_free")
    private Integer isFree;
    @TableField(value = "course_original")
    private BigDecimal courseOriginal;
    @TableField(value = "course_discount")
    private BigDecimal courseDiscount;
    @TableField(value = "is_putaway")
    private Integer isPutaway;
    @TableField(value = "course_sort")
    private Integer courseSort;
    @TableField(value = "count_buy")
    private Integer countBuy;
    @TableField(value = "count_study")
    private Integer countStudy;
    @TableField(value = "period_total")
    private Integer periodTotal;
    @TableField(value = "is_supreme")
    private Integer isSupreme;
    @TableField(value = "is_appointment")
    private Integer isAppointment;
	@TableField(value = "open_class_date")
    private String openClassDate;

	@TableField(value = "is_open")
	private Integer isOpen;
	@TableField(value = "simple_introduce")
    private String simpleIntroduce;

    private static final long serialVersionUID = 1L;


}
